package com.example.netty.pojo;

import com.example.netty.common.Compare;
import com.example.netty.common.Exclude;
import com.example.netty.common.Reserve;
import com.influxdb.annotations.Column;
import com.influxdb.annotations.Measurement;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.Instant;

@ApiModel("Power3对象")
@Data
@Measurement(
    name = "Power3"
)
public class Power3 implements Serializable {
  @Exclude
  private static final long serialVersionUID = 1L;

  @Compare(">")
  @ApiModelProperty("333-3#发电机组转速")
  @Column
  private String z333;

  @ApiModelProperty("334-3#发电机组开关合闸次数")
  @Column
  private String z334;

  @ApiModelProperty("335-3#发电机组运行小时数")
  @Column
  private String z335;

  @ApiModelProperty("336-")
  @Column
  private String z336;

  @Compare(">")
  @Reserve(1)
  @ApiModelProperty("337-3#发电机组冷却水温度")
  @Column
  private String z337;

  @Compare(">")
  @Reserve(1)
  @ApiModelProperty("338-3#发电机组机油油温")
  @Column
  private String z338;

  @Compare("<")
  @Reserve(2)
  @ApiModelProperty("339-3#发电机组机油压力")
  @Column
  private String z339;

  @Compare("<")
  @Reserve(1)
  @ApiModelProperty("340-3#蓄电池电压")
  @Column
  private String z340;

  @Compare(">")
  @Reserve(1)
  @ApiModelProperty("341-3#发电机组功率")
  @Column
  private String z341;

  @Compare(">")
  @Reserve(1)
  @ApiModelProperty("342-3#发电机组电压")
  @Column
  private String z342;

  @Compare(">")
  @Reserve(1)
  @ApiModelProperty("343-3#发电机组电流")
  @Column
  private String z343;

  @Compare(">")
  @Reserve(2)
  @ApiModelProperty("344-3#发电机组频率")
  @Column
  private String z344;

  @ApiModelProperty("345-空")
  @Column
  private String z345;

  @ApiModelProperty("346-空")
  @Column
  private String z346;

  @ApiModelProperty("347-通讯计数器")
  @Column
  private String z347;

  @ApiModelProperty("348-通讯计数器")
  @Column
  private String z348;

  @Exclude
  @ApiModelProperty("创建时间")
  @Column(
      name = "_time",
      timestamp = true
  )
  private Instant createTime;
}
